
// Generated from /home/chh/gitprojects/plc2llvm/grammar/PLCSTParser.g4 by ANTLR 4.11.1

#pragma once


#include "antlr4-runtime.h"
#include "PLCSTParserVisitor.h"


namespace plcst {

/**
 * This class provides an empty implementation of PLCSTParserVisitor, which can be
 * extended to create a visitor which only needs to handle a subset of the available methods.
 */
class  PLCSTParserBaseVisitor : public PLCSTParserVisitor {
public:

  virtual std::any visitStartpoint(PLCSTParser::StartpointContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitConstant(PLCSTParser::ConstantContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitNumeric_Literal(PLCSTParser::Numeric_LiteralContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitInt_Literal(PLCSTParser::Int_LiteralContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitReal_Literal(PLCSTParser::Real_LiteralContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitBool_Literal(PLCSTParser::Bool_LiteralContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitChar_Str(PLCSTParser::Char_StrContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitWChar_Str(PLCSTParser::WChar_StrContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitChar_Literal(PLCSTParser::Char_LiteralContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitTime_Literal(PLCSTParser::Time_LiteralContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitBit_Str_Literal(PLCSTParser::Bit_Str_LiteralContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitNumeric_Type_Name(PLCSTParser::Numeric_Type_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitString_Type_Name(PLCSTParser::String_Type_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitBit_Str_Type_Name(PLCSTParser::Bit_Str_Type_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitData_Type_Access(PLCSTParser::Data_Type_AccessContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitElem_Type_Name(PLCSTParser::Elem_Type_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitNestedNameSpecifier(PLCSTParser::NestedNameSpecifierContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitDerived_Type_Access(PLCSTParser::Derived_Type_AccessContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitStruct_Type_Access(PLCSTParser::Struct_Type_AccessContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitData_Type_Decl(PLCSTParser::Data_Type_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitType_Decl(PLCSTParser::Type_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitSimple_Type_Decl(PLCSTParser::Simple_Type_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitNested_Simple_Type_Decl(PLCSTParser::Nested_Simple_Type_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitSimple_Spec_Init(PLCSTParser::Simple_Spec_InitContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitSimple_Spec(PLCSTParser::Simple_SpecContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitSubrange_Type_Decl(PLCSTParser::Subrange_Type_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitSubrange_Spec_Init(PLCSTParser::Subrange_Spec_InitContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitSubrange_Spec(PLCSTParser::Subrange_SpecContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitSubrange(PLCSTParser::SubrangeContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitEnum_Type_Decl(PLCSTParser::Enum_Type_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitNamed_Spec_Init(PLCSTParser::Named_Spec_InitContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitEnum_Spec_Init(PLCSTParser::Enum_Spec_InitContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitEnum_Value_Spec(PLCSTParser::Enum_Value_SpecContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitEnum_Value(PLCSTParser::Enum_ValueContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitArray_Type_Decl(PLCSTParser::Array_Type_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitArray_Spec_Init(PLCSTParser::Array_Spec_InitContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitArray_Spec(PLCSTParser::Array_SpecContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitNested_Array_Type_Name(PLCSTParser::Nested_Array_Type_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitDirect_Array_Type_Name(PLCSTParser::Direct_Array_Type_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitArray_Init(PLCSTParser::Array_InitContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitArray_Elem_Init(PLCSTParser::Array_Elem_InitContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitMult_Array_Elem_Init_Value(PLCSTParser::Mult_Array_Elem_Init_ValueContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitArray_Elem_Init_Value(PLCSTParser::Array_Elem_Init_ValueContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitStruct_Type_Decl(PLCSTParser::Struct_Type_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitNested_Struct_Type_Decl(PLCSTParser::Nested_Struct_Type_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitStruct_Spec(PLCSTParser::Struct_SpecContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitStruct_Spec_Init(PLCSTParser::Struct_Spec_InitContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitStruct_Decl(PLCSTParser::Struct_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitStruct_Elem_Decl(PLCSTParser::Struct_Elem_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitStruct_Init(PLCSTParser::Struct_InitContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitStruct_Elem_Init(PLCSTParser::Struct_Elem_InitContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitStr_Type_Decl(PLCSTParser::Str_Type_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitRef_Type_Decl(PLCSTParser::Ref_Type_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitRef_Spec_Init(PLCSTParser::Ref_Spec_InitContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitRef_Spec(PLCSTParser::Ref_SpecContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitRef_Type_Access(PLCSTParser::Ref_Type_AccessContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitRef_Value(PLCSTParser::Ref_ValueContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitRef_Addr(PLCSTParser::Ref_AddrContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitRef_Assign(PLCSTParser::Ref_AssignContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitRef_Deref(PLCSTParser::Ref_DerefContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitVariable(PLCSTParser::VariableContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitSymbolic_Variable(PLCSTParser::Symbolic_VariableContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitVar_Access(PLCSTParser::Var_AccessContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitMulti_Elem_Var(PLCSTParser::Multi_Elem_VarContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitSubscript_List(PLCSTParser::Subscript_ListContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitSubscript(PLCSTParser::SubscriptContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitStruct_Variable(PLCSTParser::Struct_VariableContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitStruct_Elem_Select(PLCSTParser::Struct_Elem_SelectContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitInput_Decls(PLCSTParser::Input_DeclsContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitInput_Decl(PLCSTParser::Input_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitVar_Decl_Init(PLCSTParser::Var_Decl_InitContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitCommon_Var_Decl_Init(PLCSTParser::Common_Var_Decl_InitContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitEdge_Decl(PLCSTParser::Edge_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitRef_Var_Decl(PLCSTParser::Ref_Var_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitInterface_Var_Decl(PLCSTParser::Interface_Var_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitVariable_List(PLCSTParser::Variable_ListContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitArray_Conformand(PLCSTParser::Array_ConformandContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitArray_Conform_Decl(PLCSTParser::Array_Conform_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitFB_Decl_No_Init(PLCSTParser::FB_Decl_No_InitContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitFB_Spec_Init(PLCSTParser::FB_Spec_InitContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitFB_Instance_Name(PLCSTParser::FB_Instance_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitOutput_Decls(PLCSTParser::Output_DeclsContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitOutput_Decl(PLCSTParser::Output_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitIn_Out_Decls(PLCSTParser::In_Out_DeclsContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitIn_Out_Var_Decl(PLCSTParser::In_Out_Var_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitVar_Decl(PLCSTParser::Var_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitArray_Var_Decl(PLCSTParser::Array_Var_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitStruct_Var_Decl(PLCSTParser::Struct_Var_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitVar_Decls(PLCSTParser::Var_DeclsContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitRetain_Var_Decls(PLCSTParser::Retain_Var_DeclsContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitLoc_Var_Decls(PLCSTParser::Loc_Var_DeclsContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitLoc_Var_Decl(PLCSTParser::Loc_Var_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitTemp_Var_Decls(PLCSTParser::Temp_Var_DeclsContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitExternal_Var_Decls(PLCSTParser::External_Var_DeclsContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitExternal_Decl(PLCSTParser::External_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitGlobal_Var_Decls(PLCSTParser::Global_Var_DeclsContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitGlobal_Var_Decl(PLCSTParser::Global_Var_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitGlobal_Var_Spec(PLCSTParser::Global_Var_SpecContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitLoc_Var_Spec_Init(PLCSTParser::Loc_Var_Spec_InitContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitLocated_At(PLCSTParser::Located_AtContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitStr_Var_Decl(PLCSTParser::Str_Var_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitS_Byte_Str_Var_Decl(PLCSTParser::S_Byte_Str_Var_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitS_Byte_Str_Spec(PLCSTParser::S_Byte_Str_SpecContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitD_Byte_Str_Var_Decl(PLCSTParser::D_Byte_Str_Var_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitD_Byte_Str_Spec(PLCSTParser::D_Byte_Str_SpecContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitLoc_Partly_Var_Decl(PLCSTParser::Loc_Partly_Var_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitLoc_Partly_Var(PLCSTParser::Loc_Partly_VarContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitVar_Spec(PLCSTParser::Var_SpecContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitFunc_Name(PLCSTParser::Func_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitFunc_Access(PLCSTParser::Func_AccessContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitFunc_Decl(PLCSTParser::Func_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitIO_Var_Decls(PLCSTParser::IO_Var_DeclsContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitFunc_Var_Decls(PLCSTParser::Func_Var_DeclsContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitFunc_Body(PLCSTParser::Func_BodyContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitFB_Type_Name(PLCSTParser::FB_Type_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitFB_Type_Access(PLCSTParser::FB_Type_AccessContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitFB_Decl(PLCSTParser::FB_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitFB_IO_Var_Decls(PLCSTParser::FB_IO_Var_DeclsContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitFB_Input_Decls(PLCSTParser::FB_Input_DeclsContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitFB_Input_Decl(PLCSTParser::FB_Input_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitFB_Output_Decls(PLCSTParser::FB_Output_DeclsContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitFB_Output_Decl(PLCSTParser::FB_Output_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitOther_Var_Decls(PLCSTParser::Other_Var_DeclsContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitNo_Retain_Var_Decls(PLCSTParser::No_Retain_Var_DeclsContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitFB_Body(PLCSTParser::FB_BodyContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitMethod_Decl(PLCSTParser::Method_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitAccess_Spec(PLCSTParser::Access_SpecContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitClass_Decl(PLCSTParser::Class_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitClass_Type_Access(PLCSTParser::Class_Type_AccessContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitClass_Instance_Name(PLCSTParser::Class_Instance_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitInterface_Decl(PLCSTParser::Interface_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitMethod_Prototype(PLCSTParser::Method_PrototypeContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitInterface_Spec_Init(PLCSTParser::Interface_Spec_InitContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitInterface_Value(PLCSTParser::Interface_ValueContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitInterface_Name_List(PLCSTParser::Interface_Name_ListContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitInterface_Type_Access(PLCSTParser::Interface_Type_AccessContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitProg_Decl(PLCSTParser::Prog_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitProg_Type_Access(PLCSTParser::Prog_Type_AccessContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitProg_Access_Decls(PLCSTParser::Prog_Access_DeclsContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitProg_Access_Decl(PLCSTParser::Prog_Access_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitSFC(PLCSTParser::SFCContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitSfc_Network(PLCSTParser::Sfc_NetworkContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitInitial_Step(PLCSTParser::Initial_StepContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitStep(PLCSTParser::StepContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitAction_Association(PLCSTParser::Action_AssociationContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitAction_Qualifier(PLCSTParser::Action_QualifierContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitAction_Time(PLCSTParser::Action_TimeContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitTransition(PLCSTParser::TransitionContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitSteps(PLCSTParser::StepsContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitTransition_Cond(PLCSTParser::Transition_CondContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitAction(PLCSTParser::ActionContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitConfig_Decl(PLCSTParser::Config_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitResource_Decl(PLCSTParser::Resource_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitSingle_Resource_Decl(PLCSTParser::Single_Resource_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitAccess_Decls(PLCSTParser::Access_DeclsContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitAccess_Decl(PLCSTParser::Access_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitAccess_Path(PLCSTParser::Access_PathContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitGlobal_Var_Access(PLCSTParser::Global_Var_AccessContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitProg_Output_Access(PLCSTParser::Prog_Output_AccessContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitTask_Config(PLCSTParser::Task_ConfigContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitTask_Init(PLCSTParser::Task_InitContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitData_Source(PLCSTParser::Data_SourceContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitProg_Config(PLCSTParser::Prog_ConfigContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitProg_Conf_Elems(PLCSTParser::Prog_Conf_ElemsContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitProg_Conf_Elem(PLCSTParser::Prog_Conf_ElemContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitFB_Task(PLCSTParser::FB_TaskContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitProg_Cnxn(PLCSTParser::Prog_CnxnContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitProg_Data_Source(PLCSTParser::Prog_Data_SourceContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitData_Sink(PLCSTParser::Data_SinkContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitConfig_Init(PLCSTParser::Config_InitContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitConfig_Inst_Init(PLCSTParser::Config_Inst_InitContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitNamespace_Decl(PLCSTParser::Namespace_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitNamespace_Elements(PLCSTParser::Namespace_ElementsContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitNamespace_H_Name(PLCSTParser::Namespace_H_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitUsing_Directive(PLCSTParser::Using_DirectiveContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitPOU_Decl(PLCSTParser::POU_DeclContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitExpression(PLCSTParser::ExpressionContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitConstant_Expr(PLCSTParser::Constant_ExprContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitXor_Expr(PLCSTParser::Xor_ExprContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitAnd_Expr(PLCSTParser::And_ExprContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitCompare_Expr(PLCSTParser::Compare_ExprContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitEqu_Expr(PLCSTParser::Equ_ExprContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitAdd_Expr(PLCSTParser::Add_ExprContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitTerm(PLCSTParser::TermContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitPower_Expr(PLCSTParser::Power_ExprContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitUnary_Expr(PLCSTParser::Unary_ExprContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitParen_Surrounded_Expr(PLCSTParser::Paren_Surrounded_ExprContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitPrimary_Expr(PLCSTParser::Primary_ExprContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitVariable_Access(PLCSTParser::Variable_AccessContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitCallable_Obj_Params_Assign(PLCSTParser::Callable_Obj_Params_AssignContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitFunc_Call(PLCSTParser::Func_CallContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitStmt_List(PLCSTParser::Stmt_ListContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitStmt(PLCSTParser::StmtContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitAssign_Stmt(PLCSTParser::Assign_StmtContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitVar_Assign(PLCSTParser::Var_AssignContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitAssignment_Attempt(PLCSTParser::Assignment_AttemptContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitInside_Callable_Obj(PLCSTParser::Inside_Callable_ObjContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitCallable_Obj(PLCSTParser::Callable_ObjContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitInvocation(PLCSTParser::InvocationContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitSubprog_Ctrl_Stmt(PLCSTParser::Subprog_Ctrl_StmtContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitParam_Assign(PLCSTParser::Param_AssignContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitCommon_Param_Assign(PLCSTParser::Common_Param_AssignContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitRef_Param_Assign(PLCSTParser::Ref_Param_AssignContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitOther_Param_Assign(PLCSTParser::Other_Param_AssignContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitSelection_Stmt(PLCSTParser::Selection_StmtContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitIF_Stmt(PLCSTParser::IF_StmtContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitCase_Stmt(PLCSTParser::Case_StmtContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitCase_Selection(PLCSTParser::Case_SelectionContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitCase_List(PLCSTParser::Case_ListContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitCase_List_Elem(PLCSTParser::Case_List_ElemContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitIteration_Stmt(PLCSTParser::Iteration_StmtContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitFor_Stmt(PLCSTParser::For_StmtContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitFor_List(PLCSTParser::For_ListContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitWhile_Stmt(PLCSTParser::While_StmtContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitRepeat_Stmt(PLCSTParser::Repeat_StmtContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitSimple_Type_Name(PLCSTParser::Simple_Type_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitSubrange_Type_Name(PLCSTParser::Subrange_Type_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitEnum_Type_Name(PLCSTParser::Enum_Type_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitArray_Type_Name(PLCSTParser::Array_Type_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitStruct_Type_Name(PLCSTParser::Struct_Type_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitStruct_Elem_Name(PLCSTParser::Struct_Elem_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitRef_Name(PLCSTParser::Ref_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitRef_Type_Name(PLCSTParser::Ref_Type_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitVariable_Name(PLCSTParser::Variable_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitFB_Name(PLCSTParser::FB_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitGlobal_Var_Name(PLCSTParser::Global_Var_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitDerived_Func_Name(PLCSTParser::Derived_Func_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitDerived_FB_Name(PLCSTParser::Derived_FB_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitMethod_Name(PLCSTParser::Method_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitClass_Type_Name(PLCSTParser::Class_Type_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitClass_Name(PLCSTParser::Class_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitInterface_Type_Name(PLCSTParser::Interface_Type_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitProg_Type_Name(PLCSTParser::Prog_Type_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitStep_Name(PLCSTParser::Step_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitAction_Name(PLCSTParser::Action_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitTransition_Name(PLCSTParser::Transition_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitConfig_Name(PLCSTParser::Config_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitResource_Type_Name(PLCSTParser::Resource_Type_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitResource_Name(PLCSTParser::Resource_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitAccess_Name(PLCSTParser::Access_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitProg_Name(PLCSTParser::Prog_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitTask_Name(PLCSTParser::Task_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitNamespace_Name(PLCSTParser::Namespace_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitControl_Variable(PLCSTParser::Control_VariableContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitIndicator_Name(PLCSTParser::Indicator_NameContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual std::any visitIdentifier(PLCSTParser::IdentifierContext *ctx) override {
    return visitChildren(ctx);
  }


};

}  // namespace plcst
